package br.ufpe.cin.ip.biblioteca.repositorios;

import br.ufpe.cin.ip.biblioteca.entidades.Funcionario;
import br.ufpe.cin.ip.biblioteca.excecoes.FuncionarioJaCadastradoException;
import br.ufpe.cin.ip.biblioteca.excecoes.FuncionarioNaoEncontradoException;
import br.ufpe.cin.ip.biblioteca.excecoes.RepositorioException;
import br.ufpe.cin.ip.biblioteca.iterator.IterableFuncionario;

public interface RepositorioFuncionario extends IterableFuncionario {
	public void adicionar(Funcionario funcionario) throws RepositorioException, FuncionarioJaCadastradoException;
	public void remover(Funcionario funcionario) throws RepositorioException, FuncionarioNaoEncontradoException;
	public void atualizar(Funcionario funcionario) throws RepositorioException, FuncionarioNaoEncontradoException;
	public Funcionario buscar(Funcionario funcionario) throws RepositorioException, FuncionarioNaoEncontradoException;
	public boolean existe(Funcionario funcionario) throws RepositorioException;
}
